<!DOCTYPE html>
<html>
<!--
Copyright 2008 The Closure Library Authors. All Rights Reserved.

Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<!--
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Closure Unit Tests - goog.proto2 - descriptor.js</title>
<script src="../base.js"></script>
<script>
  goog.require('goog.proto2.Descriptor');
  goog.require('goog.testing.jsunit');
</script>
</head>
<body>
<script>

function testDescriptorConstruction() {
  var messageType = {};
  var descriptor = new goog.proto2.Descriptor(messageType, {
    name: 'test',
    fullName: 'this.is.a.test'
  }, []);

  assertEquals('test', descriptor.getName());
  assertEquals('this.is.a.test', descriptor.getFullName());
  assertEquals(null, descriptor.getContainingType());
}

function testParentDescriptor() {
  var parentType = {};
  var messageType = {};

  var parentDescriptor = new goog.proto2.Descriptor(parentType, {
    name: 'parent',
    fullName: 'this.is.a.parent'
  }, []);

  parentType.getDescriptor = function() {
    return parentDescriptor;
  };

  var descriptor = new goog.proto2.Descriptor(messageType, {
    name: 'test',
    fullName: 'this.is.a.test',
    containingType: parentType
  }, []);

  assertEquals(parentDescriptor, descriptor.getContainingType());
}


</script>
</body>
</html>
